#include "loginwidget.h"
#include "ui_loginwidget.h"

LoginWidget::LoginWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::LoginWidget)
{
    ui->setupUi(this);

    this->setWindowFlag(Qt::FramelessWindowHint);

    QFile file(":/new/css/default.css");
    file.open(QIODevice::ReadOnly);

    //设置样式表
    qApp->setStyleSheet(file.readAll());
    file.close();

    // 创建一个与窗口大小相同的 QBitmap
    QBitmap bmp(this->size());
    bmp.fill();  // 填充为黑色

    // 使用 QPainter 在 bmp 上绘制白色圆角矩形
    QPainter p(&bmp);
    p.setPen(Qt::NoPen);  // 不画边框
    p.setBrush(Qt::black);  // 黑色填充（黑色区域为不可见区域）
    p.drawRoundedRect(bmp.rect(), 4, 4);  // 绘制一个圆角矩形

    // 设置遮罩
    setMask(bmp);  // 应用遮罩，只有白色区域会显示，其他区域透明

}

LoginWidget::~LoginWidget()
{
    delete ui;
}

void LoginWidget::on_pushButton_clicked()
{
    MainWindow *mainwindow=new MainWindow();
    mainwindow->show();

    this->hide();
}

void LoginWidget::on_pushButton_2_clicked()
{
    this->close();
}

void LoginWidget::mousePressEvent(QMouseEvent *event)
{
    // 在鼠标按下时记录当前位置
    if (event->button() == Qt::LeftButton) {
        dragPosition = event->globalPos() - frameGeometry().topLeft();
        event->accept();
    }
}

void LoginWidget::mouseMoveEvent(QMouseEvent *event)
{
    // 在鼠标移动时移动窗口
    if (event->buttons() & Qt::LeftButton) {
        move(event->globalPos() - dragPosition);
        event->accept();
    }
}
